package GUI;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;

import odpgl.Implementacion;
import mapa.Coordenada;
import mapa.Direccion;
import clientes.Cliente;

import java.awt.Font;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class buscarClientes extends JDialog 
{

	public Implementacion pedidosGeoLoc = new Implementacion();
	public Cliente buscado;
	
	private JTextField textCuit;
	private JTextField textNombre;
	private JTextField textCalle;
	private JTextField textNumero;
	private JTextField textLocalidad;
	private JTextField textTelefono;
	private JTextField textLongitud;
	private JTextField textLatitud;
	private JTextField textContacto;
	private JTextField textProvincia;
	
	
	public static void main(String[] args) {
		try {
			buscarClientes dialog = new buscarClientes();
			dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
			dialog.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	

	public buscarClientes() 
	{
		setBounds(260, 150, 800, 500);
		getContentPane().setLayout(null);
		
	
		
		
		
		JLabel lblBuscar = new JLabel("Buscar/editar/borrar un cliente");
		lblBuscar.setBounds(201, 13, 395, 49);
		lblBuscar.setForeground(Color.WHITE);
		lblBuscar.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 25));
		lblBuscar.setBackground(Color.WHITE);
		getContentPane().add(lblBuscar);
		
		final JPanel panel = new JPanel();
		panel.setVisible(false);
		panel.setLayout(null);
		panel.setOpaque(false);
		panel.setBounds(349, 91, 433, 360);
		getContentPane().add(panel);
		
		
		JLabel label = new JLabel("Cuit:");
		label.setHorizontalAlignment(SwingConstants.LEFT);
		label.setForeground(Color.WHITE);
		label.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label.setBounds(0, 20, 92, 18);
		panel.add(label);
		
		textCuit = new JTextField();
		textCuit.setColumns(10);
		textCuit.setBounds(102, 20, 296, 20);
		panel.add(textCuit);
		
		JLabel label_1 = new JLabel("Nombre:");
		label_1.setHorizontalAlignment(SwingConstants.LEFT);
		label_1.setForeground(Color.WHITE);
		label_1.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_1.setBounds(0, 55, 92, 18);
		panel.add(label_1);
		
		textNombre = new JTextField();
		textNombre.setColumns(10);
		textNombre.setBounds(102, 55, 296, 20);
		panel.add(textNombre);
		
		JLabel label_2 = new JLabel("Calle:");
		label_2.setHorizontalAlignment(SwingConstants.LEFT);
		label_2.setForeground(Color.WHITE);
		label_2.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_2.setBounds(0, 90, 92, 18);
		panel.add(label_2);
		
		textCalle = new JTextField();
		textCalle.setColumns(10);
		textCalle.setBounds(102, 90, 165, 20);
		panel.add(textCalle);
		
		JLabel label_3 = new JLabel("Nº:");
		label_3.setHorizontalAlignment(SwingConstants.LEFT);
		label_3.setForeground(Color.WHITE);
		label_3.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_3.setBounds(277, 90, 21, 18);
		panel.add(label_3);
		
		textNumero = new JTextField();
		textNumero.setColumns(10);
		textNumero.setBounds(308, 90, 90, 20);
		panel.add(textNumero);
		
		JLabel label_4 = new JLabel("Localidad:");
		label_4.setHorizontalAlignment(SwingConstants.LEFT);
		label_4.setForeground(Color.WHITE);
		label_4.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_4.setBounds(0, 125, 92, 18);
		panel.add(label_4);
		
		textLocalidad = new JTextField();
		textLocalidad.setColumns(10);
		textLocalidad.setBounds(102, 125, 296, 20);
		panel.add(textLocalidad);
		
		JLabel label_5 = new JLabel("Telefono:");
		label_5.setHorizontalAlignment(SwingConstants.LEFT);
		label_5.setForeground(Color.WHITE);
		label_5.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_5.setBounds(0, 230, 92, 18);
		panel.add(label_5);
		
		textTelefono = new JTextField();
		textTelefono.setColumns(10);
		textTelefono.setBounds(102, 230, 296, 20);
		panel.add(textTelefono);
		
		textLongitud = new JTextField();
		textLongitud.setColumns(10);
		textLongitud.setBounds(292, 195, 106, 20);
		panel.add(textLongitud);
		
		JLabel label_6 = new JLabel("Longitud:");
		label_6.setHorizontalAlignment(SwingConstants.LEFT);
		label_6.setForeground(Color.WHITE);
		label_6.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_6.setBounds(216, 195, 68, 18);
		panel.add(label_6);
		
		JLabel label_7 = new JLabel("Latitud:");
		label_7.setHorizontalAlignment(SwingConstants.LEFT);
		label_7.setForeground(Color.WHITE);
		label_7.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_7.setBounds(0, 195, 99, 18);
		panel.add(label_7);
		
		textLatitud = new JTextField();
		textLatitud.setColumns(10);
		textLatitud.setBounds(102, 195, 106, 20);
		panel.add(textLatitud);
		
		JLabel label_8 = new JLabel("Contacto:");
		label_8.setHorizontalAlignment(SwingConstants.LEFT);
		label_8.setForeground(Color.WHITE);
		label_8.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_8.setBounds(0, 270, 92, 18);
		panel.add(label_8);
		
		textContacto = new JTextField();
		textContacto.setColumns(10);
		textContacto.setBounds(102, 270, 296, 20);
		panel.add(textContacto);
		
		JLabel label_9 = new JLabel("Provincia:");
		label_9.setHorizontalAlignment(SwingConstants.LEFT);
		label_9.setForeground(Color.WHITE);
		label_9.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		label_9.setBounds(0, 160, 92, 18);
		panel.add(label_9);
		
		textProvincia = new JTextField();
		textProvincia.setColumns(10);
		textProvincia.setBounds(102, 160, 296, 20);
		panel.add(textProvincia);
		
		JButton button = new JButton("Grabar");
		button.setBounds(216, 295, 89, 23);
		panel.add(button);
		
		final JTextField textBusqueda = new JTextField();
		textBusqueda.setBounds(39, 136, 213, 22);
		getContentPane().add(textBusqueda);
		textBusqueda.setColumns(10);
		
		
		
		JLabel lblBsquedaPorNombre = new JLabel("Búsqueda por nombre o cuit:");
		lblBsquedaPorNombre.setBounds(39, 91, 213, 36);
		lblBsquedaPorNombre.setForeground(Color.WHITE);
		lblBsquedaPorNombre.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 15));
		getContentPane().add(lblBsquedaPorNombre);
		
		final JLabel lbNoExiste = new JLabel("El cliente no existe");
		lbNoExiste.setBounds(313, 109, 421, 70);
		getContentPane().add(lbNoExiste);
		lbNoExiste.setForeground(Color.RED);
		lbNoExiste.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 20));
		lbNoExiste.setHorizontalAlignment(SwingConstants.CENTER);
		lbNoExiste.setVisible(false);
		
		final JLabel lblEditar = new JLabel("Modificar al cliente y luego hacer click en grabar");
		lblEditar.setBounds(24, 339, 288, 43);
		getContentPane().add(lblEditar);
		lblEditar.setVisible(false);
		
		//Falta ver como convertir a string undouble, por lat y long
		
		JButton btnIr = new JButton("Ir...");
		btnIr.setBounds(96, 171, 97, 25);
		getContentPane().add(btnIr);
		btnIr.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) 
			{	
				String texto = textBusqueda.getText();
				System.out.println("El texto buscado es " + texto);
				
				buscado = pedidosGeoLoc.buscarCliente(texto);
				
				if(buscado ==null)
					lbNoExiste.setVisible(true);
				else
					{
					panel.setVisible(true);
					textCuit.setText(buscado.getCuit());
					textNombre.setText(buscado.getNombre());
					textCalle.setText(buscado.getDomicilio().getDireccion().getCalle());
					textLocalidad.setText(buscado.getDomicilio().getDireccion().getLocalidad());
					textProvincia.setText(buscado.getDomicilio().getDireccion().getProvincia());
					textTelefono.setText(buscado.getTelefono());
					textContacto.setText(buscado.getNombre_Contacto());
					
					}
					
				

			}
		});
		
		JButton botonBorrar = new JButton("Borrar");
		botonBorrar.setBounds(96, 235, 97, 25);
		getContentPane().add(botonBorrar);
		
		botonBorrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) 
			{
				pedidosGeoLoc.borrarCliente(buscado);
				panel.setVisible(false);
			}
		});
		
		JButton botonEditar = new JButton("Editar");
		botonEditar.setBounds(96, 289, 97, 25);
		getContentPane().add(botonEditar);
		botonEditar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) 
			{
				lblEditar.setVisible(true);
			}
		});
				
				JButton btnVolver = new JButton("Volver");
				btnVolver.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						dispose();
					}
				});
				btnVolver.setBounds(96, 423, 97, 25);
				getContentPane().add(btnVolver);
		
				JLabel fondo = new JLabel("");
				fondo.setHorizontalAlignment(SwingConstants.TRAILING);
				fondo.setBounds(0, 0, 798, 460);
				fondo.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 18));
				fondo.setIcon(new ImageIcon("Imagenes/azulFondo.jpeg"));
				getContentPane().add(fondo);
		
		
		
		
		
		
		
		
		
	}
}


	
	
